struct _POP_FX_DEVICE// Size=0x108
{
    struct _LIST_ENTRY Link;// Offset=0x0 Size=0x8
    struct _POP_FX_PLUGIN * Plugin;// Offset=0x8 Size=0x4
    struct PEPHANDLE__ * PluginHandle;// Offset=0xc Size=0x4
    struct _POP_FX_PLUGIN * MiniPlugin;// Offset=0x10 Size=0x4
    struct PEPHANDLE__ * MiniPluginHandle;// Offset=0x14 Size=0x4
    struct _DEVICE_NODE * DevNode;// Offset=0x18 Size=0x4
    struct _DEVICE_OBJECT * DeviceObject;// Offset=0x1c Size=0x4
    struct _DEVICE_OBJECT * TargetDevice;// Offset=0x20 Size=0x4
    struct _POP_FX_DRIVER_CALLBACKS Callbacks;// Offset=0x24 Size=0x1c
    void * DriverContext;// Offset=0x40 Size=0x4
    struct _IO_REMOVE_LOCK RemoveLock;// Offset=0x44 Size=0x18
    struct _POP_FX_WORK_ORDER WorkOrder;// Offset=0x5c Size=0x14
    union _POP_FX_DEVICE_STATUS Status;// Offset=0x70 Size=0x4
    long PowerReqCall;// Offset=0x74 Size=0x4
    long PowerNotReqCall;// Offset=0x78 Size=0x4
    unsigned long IdleLock;// Offset=0x7c Size=0x4
    struct _KTIMER IdleTimer;// Offset=0x80 Size=0x28
    struct _KDPC IdleDpc;// Offset=0xa8 Size=0x20
    unsigned long long IdleTimeout;// Offset=0xc8 Size=0x8
    unsigned long long IdleStamp;// Offset=0xd0 Size=0x8
    struct _IRP * Irp;// Offset=0xd8 Size=0x4
    struct _POP_IRP_DATA * IrpData;// Offset=0xdc Size=0x4
    struct _DEVICE_OBJECT * NextIrpDeviceObject;// Offset=0xe0 Size=0x4
    union _POWER_STATE NextIrpPowerState;// Offset=0xe4 Size=0x4
    void  ( * NextIrpCallerCompletion)(struct _DEVICE_OBJECT * ,unsigned char ,union _POWER_STATE ,void * ,struct _IO_STATUS_BLOCK * );// Offset=0xe8 Size=0x4
    void * NextIrpCallerContext;// Offset=0xec Size=0x4
    struct _KEVENT IrpCompleteEvent;// Offset=0xf0 Size=0x10
    unsigned long ComponentCount;// Offset=0x100 Size=0x4
    struct _POP_FX_COMPONENT * Components[1];// Offset=0x104 Size=0x4
};